<?php

//by ralvear 20130810

class Modelo
{
	protected $_bd;

	public function __construct(){

		$this->_vista = new Vista( new Peticion );
		
	}

	public function cargarVo( $modelo ){
		$rutaClase = RUTA . "clase" . BNVA . $modelo . ".php";

		if( is_readable($rutaClase) ){
			require_once ( $rutaClase );
			$claseModelo = ucfirst($modelo);
			return new $claseModelo;
		}else{
			throw new Exception( "Error: Clase no encontrado..." );
		}
		
	}

	public function ejecutar( $sql ){   

		$respuesta = 0;
		$postgres = new Postgres();//conexion base de datos {postgres}
		$this->_bd = $postgres->obtenerPostgres();

		if( $this->_bd ){
			$bd_recurso = pg_exec( $this->_bd, $sql ); 

			if( $bd_recurso )
				$respuesta = $bd_recurso;
		}

		$postgres->cerrarPostgres($this->_bd);//desconexion base de datos {postgres}

		return $respuesta;
		
	}

	function contar( $bd_recurso ){

		if ( $bd_recurso ){
			return pg_numrows( $bd_recurso );
		}else{
			return 0;
		}

	}

	public function buscaruno( $bd_recurso , $indice = 0 ){

		if( $this->contar( $bd_recurso ) )
		{
			$fila = pg_fetch_array( $bd_recurso, $indice );
			return $fila;
		}else{
			return 0;
		}

	}
}

?>